const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    loading: true,

    isAuth: false,

    userInfo: {
      nickName: '',
      avatar: ''
    }
  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

    this.getUserInfo();

    

  },

  //查看我的
  viewMybooking() {
    wx.navigateTo({
      url: '../mybooking/mybooking'
    })
  },

  //获取用户授权信息
  getUserAuthInfo() {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: res => {
        //用户成功授权，将用户数据保存在数据库
        wx.showLoading({
          title: '加载中...',
          mask: true
        })
    
        //调用云端的云函数
        wx.cloud.callFunction({
          //云端的云函数名称
          name: 'add_userInfo',
          data: {
            //用户信息
            user: res.userInfo,
            //用户授权
            isAuth: true
          }
        }).then(data => {
          //关闭加载提示
          wx.hideLoading();
          if (data.result._id) {

            app.globalData.user = res.userInfo;
            app.globalData.isAuth = true;

            this.setData({
              isAuth: true,
              userInfo: {
                nickName: res.userInfo.nickName,
                avatar: res.userInfo.avatarUrl
              }
            })
          }
    
    
        }).catch(err => {
          
        })


      }
    })
  },

  //获取用户信息
  getUserInfo() {
    if (!app.globalData.isAuth) {
      wx.showLoading({
        title: '加载中...',
        mask: true
      })
  
      //调用云端的云函数
      wx.cloud.callFunction({
        //云端的云函数名称
        name: 'get_userInfo'
      }).then(res => {
        //关闭加载提示
        wx.hideLoading();
  
        
  
        if (res.result.data.length > 0) {
          app.globalData.isAuth = res.result.data[0].isAuth;

          this.setData({
            userInfo: {
              nickName: res.result.data[0].user.nickName,
              avatar: res.result.data[0].user.avatarUrl
            },
            isAuth: app.globalData.isAuth,
            
          })
        }

        this.setData({
          loading: false
        })
  
      }).catch(err => {
        
      })
    } else {
      this.setData({
        isAuth: app.globalData.isAuth,
        userInfo: {
          nickName: app.globalData.user.nickName,
          avatar: app.globalData.user.avatarUrl
        }
      })

      setTimeout(() => {
        this.setData({
          loading: false
        })
      }, 600)
    }
  }

  
})